package znzz.core.dao;

import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * 单表的增、删、改、查操作，建表、清空表、判断表是否存在操作
 * <p/>
 * Created by wangjwm on 2017/7/6.
 */
public interface IBaseMapper<T> {

    /**
     * 创建表
     *
     * @param tableName 表名
     * @return
     */
    int createTable(@Param("tableName") String tableName);

    /**
     * 根据表名判断表是否存在
     *
     * @param tableName 表名
     * @return
     */
    /*List<String> existTable(String tableName);*/

    /**
     * 清空表
     *
     * @param tableName 表名
     * @return
     */
    int clearTable(@Param("tableName") String tableName);

    /**
     * 主表VO新增（单量）
     *
     * @param tableName 表名
     * @param VO        实体
     * @return
     */
    /*int insertBySingle(@Param("tableName") String tableName, @Param("VO") T VO);*/

    /**
     * 批量新增（max=500）
     *
     * @param VOs 实体list
     * @return
     * @Param tableName 表名
     */
    int insertByBatch(@Param("tableName") String tableName, @Param("VOs") List<T> VOs);

}
